Vault

{_obsidian_pattern_tag_public}
started in https://docs.google.com/document/d/1ujswRtZy9_JEd2pZ9wTbpedFUF93KxFiWlJD0UaBeEs/edit

try 2

/my/proj/wheel
✨ dash(pts/24):/my/proj/wheel% pdm run python usb_wheel_to_scroll.py

**Instructions adapted from https://andrewmemory.wordpress.com/2019/12/16/mapping-a-usb-volume-knob-into-a-keyboard-on-linux-for-sdr/ 

https://andrewmemory.wordpress.com/2019/12/16/mapping-a-usb-volume-knob-into-a-keyboard-on-linux-for-sdr/
https://wiki.wireshark.org/CaptureSetup/USB#linux

Dmesg looks like this:

    [760290.177108] usb 3-1.2: USB disconnect, device number 76   
    [760293.230924] usb 3-1.2: new full-speed USB device number 82 using xhci_hcd   
    [760293.344174] usb 3-1.2: New USB device found, idVendor=8808, idProduct=660c, bcdDevice= 0.00   
    [760293.344179] usb 3-1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0   
    [760293.358247] input: HID 8808:660c as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1.2/3-1.2:1.0/0003:8808:660C.004B/input/input129   
    [760293.415161] hid-generic 0003:8808:660C.004B: input,hidraw5: USB HID v1.11 Keyboard [HID 8808:660c] on usb-0000:00:14.0-1.2/input0   
    [760293.415861] input: HID 8808:660c as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1.2/3-1.2:1.1/0003:8808:660C.004C/input/input130   
    [760293.415981] hid-generic 0003:8808:660C.004C: input,hidraw6: USB HID v1.10 Mouse [HID 8808:660c] on usb-0000:00:14.0-1.2/input1   
    [760293.418524] input: HID 8808:660c Keyboard as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1.2/3-1.2:1.2/0003:8808:660C.004D/input/input131   
    [760293.475261] input: HID 8808:660c as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1.2/3-1.2:1.2/0003:8808:660C.004D/input/input132   
    [760293.475348] input: HID 8808:660c Mouse as /devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1.2/3-1.2:1.2/0003:8808:660C.004D/input/input133   
    [760293.475512] hid-generic 0003:8808:660C.004D: input,hiddev1,hidraw7: USB HID v1.10 Keyboard [HID 8808:660c] on usb-0000:00:14.0-1.2/input2   
    [760293.479137] usb 3-1.2: language id specifier not provided by device, defaulting to English   
    [760293.484118] hid-generic 0003:8808:660C.004E: hiddev2,hidraw8: USB HID v1.00 Device [HID 8808:660c] on usb-0000:00:14.0-1.2/input3

So I write /etc/udev/hwdb.d/99-usb-knob.hwdb with RHS key choices from https://github.com/torvalds/linux/blob/master/include/uapi/linux/input-event-codes.h 

evdev:input:bv8808p660C

KEYBOARD_KEY_c00ea=up

KEYBOARD_KEY_c00e9=down

KEYBOARD_KEY_c00cd=right

Then 

✨ dash(pts/16):/etc/udev/hwdb.d% sudo systemd-hwdb update

✨ dash(pts/16):/etc/udev/hwdb.d% sudo udevadm trigger    

This gives me knob-arrows, but i want mousewheel:

evdev:input:bv8808p660C

ID_INPUT_KEYBOARD=1

ID_INPUT_MOUSE=1

KEYBOARD_KEY_c00ea=f13

KEYBOARD_KEY_c00e9=f14

KEYBOARD_KEY_c00cd=right

Then how to make wheel events from f13/f14?

Hiddev1 (keyboard) gets turn msgs

Hiddev2 (device) gets a msg for button-down (but not up)

IC says 552EC03 also seen at https://twitter.com/Foone/status/1562550271804186624**

also see

https://twitter.com/Foone/status/1562551356858085376
https://github.com/torvalds/linux/blob/master/include/uapi/linux/input-event-codes.h
https://elixir.bootlin.com/linux/latest/source/drivers/input/input.c#L977